package regexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则表达式元字符-转义符 \\
 */
public class RegExp02 {

    public static void main(String[] args) {
        /*
            正则表达式中各种元字符的功能：
            1.限定符
            2.选择匹配符
            3.分组组合和反向引用符
            4.特殊字符
            5.字符匹配符
            6.定位符

            元字符-转义号\\
            在使用正则表达式去检索某些特殊字符的时候，需要用到转义符号，否则匹配不到结果，甚至会报错。
            如：用 $ 匹配 "abc$("，用 ( 匹配 "abc$("

            需要用到转义字符的字符有以下：
            .*+()$/\?[]^{}
         */
        String content = "abc$(a.bc(123()";
        //匹配( -> \\(
        //匹配. -> \\.
        String regStr = "\\.";
        String regStr2 = "\\d\\d\\d";
        String regStr3 = "\\d{3}";
        Pattern pattern = Pattern.compile(regStr3);
        Matcher matcher = pattern.matcher(content);
        while (matcher.find()) {
            System.out.println(matcher.group(0));
        }
    }
}
